home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / glibmm-2.4 / proc / m4 / gerror.m4 < prev    next >
M4 Source File  |  2006-04-20  |  2KB  |  88 lines

  1. dnl $Id: gerror.m4,v 1.1.1.1 2003/01/07 16:59:09 murrayc Exp $
  2.  
  3. dnl
  4. dnl  _GERROR(PixbufError,GdkPixbufError,GDK_PIXBUF_ERROR,`<enum_value_list>',[NO_GTYPE])
  5. dnl
  6.  
  7. m4_define(`_GERROR',`dnl
  8. _PUSH()
  9. dnl
  10. dnl  Define the args for later macros
  11. m4_define(`__CPPNAME__',`$1')
  12. m4_define(`__CNAME__',`$2')
  13. m4_define(`__CQUARK__',`$3')
  14. m4_define(`__VALUE_BASE__',`Glib::Value_Enum<__NAMESPACE__::__CPPNAME__::Code>')
  15. _POP()
  16. class __CPPNAME__ : public Glib::Error
  17. {
  18. public:
  19.   enum Code
  20.   {
  21. $4
  22.   };
  23.  
  24.   __CPPNAME__`'(Code error_code, const Glib::ustring& error_message);
  25.   explicit __CPPNAME__`'(GError* gobject);
  26.   Code code() const;
  27.  
  28. #ifndef DOXYGEN_SHOULD_SKIP_THIS
  29. private:
  30.   static void throw_func(GError* gobject);
  31.   friend void wrap_init(); // uses throw_func()
  32. #endif
  33. };
  34.  
  35. m4_ifelse($5,`NO_GTYPE',,`dnl else
  36. __NAMESPACE_END__
  37.  
  38. #ifndef DOXYGEN_SHOULD_SKIP_THIS
  39. namespace Glib
  40. {
  41.  
  42. template <>
  43. class Value<__NAMESPACE__::__CPPNAME__::Code> : public __VALUE_BASE__
  44. {
  45. public:
  46.   static GType value_type() G_GNUC_CONST;
  47. };
  48.  
  49. } // namespace Glib
  50. #endif /* DOXYGEN_SHOULD_SKIP_THIS */
  51.  
  52.  
  53. __NAMESPACE_BEGIN__
  54. ')dnl endif !NO_GTYPE
  55. _PUSH(SECTION_SRC_GENERATED)
  56.  
  57. __NAMESPACE__::__CPPNAME__::__CPPNAME__`'(__NAMESPACE__::__CPPNAME__::Code error_code, const Glib::ustring& error_message)
  58. :
  59.   Glib::Error (__CQUARK__, error_code, error_message)
  60. {}
  61.  
  62. __NAMESPACE__::__CPPNAME__::__CPPNAME__`'(GError* gobject)
  63. :
  64.   Glib::Error (gobject)
  65. {}
  66.  
  67. __NAMESPACE__::__CPPNAME__::Code __NAMESPACE__::__CPPNAME__::code() const
  68. {
  69.   return static_cast<Code>(Glib::Error::code());
  70. }
  71.  
  72. void __NAMESPACE__::__CPPNAME__::throw_func(GError* gobject)
  73. {
  74.   throw __NAMESPACE__::__CPPNAME__`'(gobject);
  75. }
  76.  
  77. m4_ifelse($5,`NO_GTYPE',,`dnl else
  78. // static
  79. GType Glib::Value<__NAMESPACE__::__CPPNAME__::Code>::value_type()
  80. {
  81.   return _GET_TYPE_FUNC(__CNAME__);
  82. }
  83.  
  84. ')dnl endif !NO_GTYPE
  85. _POP()
  86. ') dnl enddef _GERROR
  87.  
  88.